package spring.cloud.service.task.mapper;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import spring.cloud.service.task.dto.TaskDto;

import java.util.List;

@Repository
public interface TaskDtoMapper {
    //
    int getTaskListCount(String namespaceKey, String description, String status);

    List<TaskDto> getTaskList(String namespaceKey, String description, String status, Integer pageOffset, Integer pageSize);

    void addTask(TaskDto taskDto);

    void updatePreferExecutorIdList(TaskDto taskDto);

    void updateTask(TaskDto taskDto);

    int deleteTask(Long id);

    int deleteByNamespaceKey(String namespaceKey);

    //
    TaskDto getTaskDtoByNamespaceKeyAndTaskId(@Param("namespaceKey") String namespaceKey, @Param("taskId") String taskId);

    List<TaskDto> getTaskDtoListByNamespaceKey(@Param("namespaceKey") String nameSpace);

    List<String> getTaskIdListByNamespaceKey(@Param("namespaceKey") String namespaceKey);


}